package com.wodsy.phoenix.dataservice.settlec.service;

import com.wodsy.phoenix.dataobject.base.Pager;
import com.wodsy.phoenix.dataobject.base.PhoenixGenericResponse;
import com.wodsy.phoenix.dataobject.base.PhoenixResponseWrapper;
import com.wodsy.phoenix.dataobject.settlec.model.SettleRequest;
import com.wodsy.phoenix.dataobject.settlec.model.SettleReview;

import java.util.List;

/**
 * Created by Huang on 2015/4/22.
 */
public interface SettleService {
    /**
     * 结算申请
     * @param shopId
     * @param accountId
     * @param orderIds
     * @return
     */
    PhoenixResponseWrapper<PhoenixGenericResponse> settleRequest(Integer shopId,Integer accountId,List<Long> orderIds);

    /**
     * 查找全部结算申请
     * @param pager
     * @return
     */
    PhoenixResponseWrapper<SettleRequest> findSettleRequests(Pager<SettleRequest> pager);

    /**
     * 获取结算申请
     * @param id
     * @return
     */
    PhoenixResponseWrapper<SettleRequest> getSettleRequest(int id);

    /**
     * 查找全部结算审核
     * @param pager
     * @return
     */
    PhoenixResponseWrapper<SettleReview> findSettleReviews(Pager<SettleReview> pager);

    /**
     * 获取结算审核
     * @param id
     * @return
     */
    PhoenixResponseWrapper<SettleReview> getSettleReview(int id);

    /**
     * 结算审核通过
     * @param id
     * @param checkUserId
     * @param remark
     * @return
     */
    PhoenixResponseWrapper<PhoenixGenericResponse> reviewPass(int id,int checkUserId,String remark);

    /**
     * 结算审核不通过
     * @param id
     * @param checkUserId
     * @param remark
     * @return
     */
    PhoenixResponseWrapper<PhoenixGenericResponse> reviewReject(int id,int checkUserId,String remark);

    /**
     * 结算财务通过
     * @param id
     * @param settleMoney
     * @param sellerAccount
     * @param settleWay
     * @param comfirmUserId
     * @return
     */
    PhoenixResponseWrapper<PhoenixGenericResponse> settleComfirm(int id,int settleMoney,String sellerAccount,String settleWay,int comfirmUserId);
}
